// 互减法可求的任意两个自然数的最大公约数，最大的数-较小的数 = 值 ，较小的数 == 值 此时较小的数就是这两个数的最大公约数


// 迭代实现
int gcd(int x, int y)
{
	while (1)
	{
		if (x > y)
		{
			x = x - y;
		}
		else if (x < y)
		{
			y = y - x;
		}
		else
			break;
	}
	return x;
}

void test()
{
    int x, y;
	printf("请输入两个整数: ");
	scanf("%d %d", &x, &y);
	printf("最大公约数是：%d", gcd(x, y));
}
int main()
{
    test();
}


// 返回数组中最大值和最小值的最大公约数
int findGCD(int* nums, int numsSize)
{
    int min = nums[0];
    int max = nums[0];
    for(int i = 1;i<numsSize;i++)
    {
        if(nums[i] > max)
            max = nums[i];
        if(nums[i] < min)
            min = nums[i];
    }
		// printf("max = %d min =  %d\n",max,min);
    return gcd(max,min);
}